home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_filedialog.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  80 lines

  1. #ifndef __EWL_FILEDIALOG_H__
  2. #define __EWL_FILEDIALOG_H__
  3.  
  4. /**
  5.  * @file ewl_filedialog.h
  6.  * @defgroup Ewl_Filedialog Filedialog: A Dialog For Picking Files
  7.  *
  8.  * The filedialog is intended to be used for a simple file chooser. It can be
  9.  * placed inside any other container, and provides the ability to pack extra
  10.  * buttons or widgets along the left side. It currently supports two types, an
  11.  * Open and a Save dialog.
  12.  *
  13.  * The normal use of the filedialog is to create a new one the first time an
  14.  * event occurs that requires one. Setting a callback for
  15.  * EWL_CALLBACK_VALUE_CHANGED, allows the programmer to determine when the
  16.  * Open/Save buttons were chosen. If the event data on the callback is NULL,
  17.  * Cancel was clicked, otherwise, the event data is a pointer to the chosen
  18.  * file(s).
  19.  *
  20.  * @{
  21.  */
  22.  
  23. /**
  24.  * @themekey /filedialog/file
  25.  * @themekey /filedialog/group
  26.  */
  27.  
  28. /**
  29.  * The Ewl_Filedialog provides a filedialog
  30.  */
  31. typedef struct Ewl_Filedialog Ewl_Filedialog;
  32.  
  33. /**
  34.  * @def EWL_FILEDIALOG(fd)
  35.  * Typecasts a pointer to an Ewl_Filedialog pointer.
  36.  */
  37. #define EWL_FILEDIALOG(fd) ((Ewl_Filedialog *) fd)
  38.  
  39. /**
  40.  * @struct Ewl_Filedialog
  41.  * Creates a dialog for the fileselector
  42.  */
  43. struct Ewl_Filedialog
  44. {
  45.     Ewl_Dialog dialog;        /**< The dialog base class */
  46.  
  47.     Ewl_Filedialog_Type type; /**< Current type of filedialog */
  48.     Ewl_Widget *fs;           /**< Ewl_Fileselector */
  49.     Ewl_Widget *type_btn;     /**< Either the open or save button */
  50. };
  51.  
  52. Ewl_Widget         *ewl_filedialog_multiselect_new(void);
  53. Ewl_Widget         *ewl_filedialog_new(void);
  54.  
  55. Ewl_Filedialog_Type     ewl_filedialog_type_get(Ewl_Filedialog *fd);
  56. void             ewl_filedialog_type_set(Ewl_Filedialog *fd, 
  57.                         Ewl_Filedialog_Type type);
  58. int             ewl_filedialog_init(Ewl_Filedialog *fd);
  59. char            *ewl_filedialog_path_get(Ewl_Filedialog *fd);
  60. char            *ewl_filedialog_file_get(Ewl_Filedialog *fd);
  61. void             ewl_filedialog_path_set(Ewl_Filedialog *fd, char *path);
  62.  
  63. void             ewl_filedialog_multiselect_set(Ewl_Filedialog *fd, 
  64.                             unsigned int val);
  65. unsigned int         ewl_filedialog_multiselect_get(Ewl_Filedialog *fd);
  66.  
  67. Ecore_List         *ewl_filedialog_select_list_get(Ewl_Filedialog *fd);
  68.  
  69. /*
  70.  * Internally used callbacks, override at your own risk.
  71.  */
  72. void ewl_filedialog_click_cb (Ewl_Widget *w, void *ev_data, void *data);
  73. void ewl_filedialog_delete_window_cb(Ewl_Widget *w, void *ev_data, void *data);
  74.  
  75. /**
  76.  * @}
  77.  */
  78.  
  79. #endif /* __EWL_FS_H__ */
  80.